package com.ruoyi.point.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 积分商城商品规格对象 mall_goods_spec
 * 
 * @author hy
 * @date 2025-08-12
 */
public class MallGoodsSpec extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 规格ID */
    private String id;

    /** 关联商品ID，对应 mall_goods 表的 id */
    @Excel(name = "关联商品ID，对应 mall_goods 表的 id")
    private String goodsId;

    /** 规格名称（如“课程有效期”“观看设备”等） */
    @Excel(name = "规格名称", readConverterExp = "如=“课程有效期”“观看设备”等")
    private String specName;

    /** 规格值（如"365天""支持手机、平板、电脑观看"等） */
    @Excel(name = "规格值", readConverterExp = "如=365天,支持手机、平板、电脑观看等")
    private String specValue;

    // 多表联查字段
    /** 关联商品信息 */
    private MallGoods mallGoods;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setGoodsId(String goodsId) 
    {
        this.goodsId = goodsId;
    }

    public String getGoodsId() 
    {
        return goodsId;
    }

    public void setSpecName(String specName) 
    {
        this.specName = specName;
    }

    public String getSpecName() 
    {
        return specName;
    }

    public void setSpecValue(String specValue) 
    {
        this.specValue = specValue;
    }

    public String getSpecValue() 
    {
        return specValue;
    }

    // 商品关联字段的getter和setter
    public MallGoods getMallGoods() 
    {
        return mallGoods;
    }

    public void setMallGoods(MallGoods mallGoods) 
    {
        this.mallGoods = mallGoods;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("goodsId", getGoodsId())
            .append("specName", getSpecName())
            .append("specValue", getSpecValue())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
